Processing method, distribution server, client, and system for streaming media

ABSTRACT

Embodiments of the present invention disclose a processing method, distribution server, client and system for streaming media. The method comprises: receiving content segment request information sent by a client; acquiring resource information of a wireless network where the client is located; predicting a data transmission rate of the wireless network according to the resource information; selecting a content segment matching the data transmission rate; and sending the content segment to the client. In embodiments of the present invention, a distribution server predicts the data transmission rate of the wireless network where the client is located and further selects the content segment with a bitrate matching the data transmission rate for the client, thereby making the bitrate of the content segment sent to the client more appropriate, realizing overall regulation of the bandwidth condition of the cellular wireless network, stable reduction of network congestion, and solving the problem of network congestion.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of International Application No.PCT/CN2012/076120, filed on May 25, 2012, which claims priority toChinese Patent Application No. 201110137167.9, filed on May 25, 2011,both of which are incorporated herein by reference in their entireties.

TECHNICAL FIELD

The present invention relates to the field of communications, and inparticular, to a processing method, a distribution server, a client, anda system for streaming media.

BACKGROUND

Streaming media technology refers to a technology that releases audios,videos and other multimedia contents in real-time in the form of datastreams on the internet. The server compresses and codes the entiremultimedia file into multiple compressed packages, and sequentiallysends them in real time to the client; and the client is enabled todecompress and play the sent packages while downloading the restpackages to save time. Currently, a server side is capable of making onemultimedia file into content segments in different editions and withdifferent bitrates for the client to choose according to the actualcondition. For example, in case of a low-bandwidth internet environment,a video stream with a low bitrate can be chosen; in case of ahigh-bandwidth internet environment, a video stream with a high bitratecan be chosen; and while in case of a variable-bandwidth internetenvironment, a video stream with a variable bitrate can be chosen. In awireless network where air-interface resources keep changing, thebitrate of the streaming media shall be adapted according to the changesin air-interface resources, for the sake of more rational utilizationrate of air-interface resources and better user experience.

With respect to the issue of bitrate adaption in the wireless network,in self-adaptive HTTP (Hyper Text Transfer Protocol, hyper text transferprotocol) streaming media protocol Adaptive HTTP Streaming of a 3GPP(the 3rd Generation Partnership Project, the 3^(rd) generationpartnership project), the processing method for HTTP streaming mediaincludes: the client needs to perform bandwidth detection prior torequesting for each content segment, for instance, carries out thebandwidth detection based on the occupation condition of its buffer(buffer). The more the buffer is occupied, the better condition thebandwidth is in, and the more the bandwidth is available; and then theclient selects an appropriate bitrate based on the available bandwidthand sends a request to the server. At the meantime, the HTTP streamingmedia adopts an HTTP request/response (request/response) mode, namely, acontent segment is required to be responded for each request.

However, it seems one-sided and not real-time for the client todetermine the network bandwidth based only on its buffer condition. Forexample, if the network of a cell is congested already but the client'sbuffer is fully occupied, the client may consider that the networkbandwidth is sufficient at that time, thereby applying for files with ahigher bitrate, which may cause more serious congestions.

SUMMARY

The present invention provides a processing method, a distributionserver, a client, and a system for streaming media.

In one aspect, the present invention provides a processing method forstreaming media, which includes:

receiving content segment request information sent by a client;

acquiring resource information of a wireless network where the client islocated;

predicting a data transmission rate of the wireless network according tothe resource information;

selecting a content segment matching the data transmission rate; and

sending the content segments to the client.

In another aspect, the present invention provides a distribution serverfor streaming media, which includes:

a receiving module, configured to receive content segment requestinformation sent by a client;

a first acquiring module, configured to acquire resource information ofa wireless network where the client is located after the receivingmodule receives the content segment request information sent by theclient;

a predicting module, configured to predict a data transmission rate ofthe wireless network according to the resource information acquired bythe first acquiring module;

a selecting module, configured to select a content segment matching thedata transmission rate predicted by the predicting module; and

a sending module, configured to send the content segment selected by theselecting module to the client.

In another aspect, the present invention further provides a processingmethod for streaming media, which includes:

sending content segment request information to a distribution server;and

receiving a content segment sent by the distribution server, where thecontent segment is a content segment that matches a data transmissionrate and is selected by the distribution server, after receiving thecontent segment request information sent by the client, throughacquiring resource information of a wireless network where the client islocated and predicting the data transmission rate of the wirelessnetwork according to the resource information.

In still another aspect, the present invention provides a client, whichincludes:

a first sending module, configured to send content segment requestinformation to a distribution server; and

a receiving module, configured to receive, after the first sendingmodule sends the content segment request information to the distributionserver, a content segment sent by the distribution server, where thecontent segment is a content segment that matches a data transmissionrate and is selected by the distribution server, after receiving thecontent segment request information sent by the client, throughacquiring resource information of a wireless network where the client islocated and predicting the data transmission rate of the wirelessnetwork according to the resource information.

In still another aspect, the present invention provides a system forstreaming media, which includes a distribution server and a client;

the distribution server is the aforementioned distribution server; and

the client is the aforementioned client.

In all solutions of the present invention, the distribution serveracquires the resource information of the wireless network where theclient is located, predicts the data transmission rate of the wirelessnetwork according to the resource information, and further selects thecontent segment matching the data transmission rate for the client,thereby making the bitrate of the content segment sent to the clientmore appropriate, realizing overall regulation of the bandwidthcondition of the cellular wireless network and stable reduction ofnetwork congestion, and solving the problem of network congestion.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in embodiments of the presentinvention more clearly, the following briefly introduces theaccompanying drawings required for describing the embodiments. It isapparent that the accompanying drawings in the following descriptionshow merely some embodiments of the present invention, and ordinarypersons skilled in the art may still derive other drawings from theaccompanying drawings without creative efforts.

FIG. 1 is a flowchart of a processing method for streaming mediaaccording to embodiment 1 of the present invention;

FIG. 2 is a schematic system architecture diagram according toembodiments 2 to 10 of the present invention;

FIG. 3 is a flowchart of a processing method for streaming mediaaccording to embodiment 2 of the present invention;

FIG. 4 is a flowchart of a processing method for streaming mediaaccording to embodiment 3 of the present invention;

FIG. 5 is a flowchart of a processing method for streaming mediaaccording to embodiment 4 of the present invention;

FIG. 6 is a flowchart of a processing method for streaming mediaaccording to embodiment 5 of the present invention;

FIG. 7 is a flowchart of a processing method for streaming mediaaccording to embodiment 6 of the present invention;

FIG. 8 is a schematic structure diagram of a first distribution serveraccording to embodiment 7 of the present invention;

FIG. 9 is a schematic structure diagram of a second distribution serveraccording to embodiment 7 of the present invention;

FIG. 10 is a schematic structure diagram of a third distribution serveraccording to embodiment 7 of the present invention;

FIG. 11 is a schematic structure diagram of a fourth distribution serveraccording to embodiment 7 of the present invention;

FIG. 12 is a schematic structure diagram of a fifth distribution serveraccording to embodiment 7 of the present invention;

FIG. 13 is a flowchart of a processing method for streaming mediaaccording to embodiment 8 of the present invention;

FIG. 14 is a schematic structure diagram of a first client according toembodiment 9 of the present invention;

FIG. 15 is a schematic structure diagram of a second client according toembodiment 9 of the present invention;

FIG. 16 is a schematic structure diagram of a third client according toembodiment 9 of the present invention;

FIG. 17 is a schematic structure diagram of a fourth client according toembodiment 9 of the present invention; and

FIG. 18 is a schematic structure diagram of a system for streaming mediaaccording to embodiment 10 of the present invention.

DESCRIPTION OF EMBODIMENTS

In order to make the objectives, technical solutions, and advantagesmore clearly, hereinafter the embodiments of the invention will beillustrated in detail in combination with the accompanying drawings.

A processing method for streaming media according to the embodiments ofthe present invention is adaptable for HTTP-based streaming mediatransmission, for example: adaptive HTTP streaming transmission(Adaptive HTTP Streaming) of 3GPP, smooth streaming transmission (SmoothStreaming) of Microsoft IIS (Internet Information Services, internetinformation services), live HTTP streaming transmission (HTTP LiveStreaming) of Apple Inc, HTTP dynamic streaming transmission (HTTPDynamic Streaming) and RTMP (Real-Time Messaging Protocol, real-timemessaging protocol) of Adobe, and other streaming media transmissiontechnologies. The method is also applicable for some streaming mediatransmission technologies similar to HTTP. The embodiments of thepresent invention merely take the method applied under the architectureof an Adaptive HTTP Streaming system of 3GPP as an example forillustration, but is not limited to so.

Embodiment 1

The embodiment of the present invention provides a processing method forstreaming media, which can be executed on a distribution server forstreaming media. The distribution server for streaming media is locatedin an RNC (Radio Network Controller, radio network controller) or an eNB(evolved Node B, evolved node B). With reference to FIG. 1, theprocessing method comprises:

101: receiving content segment request information (Segment Request)sent by a client;

102: acquiring resource information of a wireless network where theclient is located;

where the resource information may be signal quality parameterinformation or a historical transmission rate. Specifically, the signalquality parameter information may be bandwidth, power, gain,signal-noise ratio and other information of the wireless network, andthe historical transmission rate refers to the data transmission rate ofthe wireless network at the time prior to the current time.

103: predicting a data transmission rate of the wireless networkaccording to the resource information;

where the predicted data transmission rate of the wireless network maybe specifically the data transmission rate of the client in the wirelessnetwork at the next moment.

Optionally, when the resource information is the signal qualityparameter information, the predicting method may includes: determiningwhether the wireless network is congested according to the signalquality parameter information; if congested, determining whether a ratioof traffic of streaming media services in the wireless network totraffic of all services is greater than a first preset threshold, and ifyes, predicting that the data transmission rate of the wireless networkdecreases at the next moment; and if not congested, determining whethera ratio of data in a transmission queue of the distribution server to asize of a buffer area is less than a second preset threshold, and ifyes, predicting that the data transmission rate of the wireless networkincreases at the next moment. Or,

when the resource information is a historical transmission rate, thepredicting method may include: according to the historical transmissionrate, predicting the data transmission rate of the wireless network atthe next moment by using a prediction method of linear minimum variance.

The embodiments of the present invention may also adopt other methods topredict the data transmission rate of the wireless network, but is notlimited to the aforementioned implementing method.

104: selecting a content segment matching the data transmission rate;

specifically, when sending the next content segment, a content segmentwith a bitrate matching the data transmission rate can be selectedaccording to the data transmission rate predicted in the previous step.

For example, adopting the aforementioned first predicting method, whenit is predicted that the data transmission rate of the wireless networkdecreases at the next moment, a content segment with a bitrate one levellower than a bitrate of the sent previous content segment may beselected; and when it is predicted that the data transmission rate ofthe wireless network increases at the next moment, a content segmentwith a bitrate one level higher than the bitrate of the sent previouscontent segment may be selected.

For another example, adopting the aforementioned second predictingmethod, after the data transmission rate of the wireless network at thenext moment is predicted, a content segment with a bitrate less than orequal to the data transmission rate may be selected.

105: sending the content segment to the client.

Where when the content segment is sent to the client an HTTP streaming(HTTP Streaming) transmission manner may be adopted, namely, the HTTPrequest/response mode. Of course, in order to increase transmissionefficiency of multimedia files, the content segment may be sent to theclient by means of an HTTP chunk (HTTP Chunk) transmission manner.

According to the method provided by the embodiments of the presentinvention, the distribution server acquires the resource information ofthe wireless network where the client is located, predicts the datatransmission rate of the wireless network according to the resourceinformation, and further selects the content segment matching the datatransmission rate for the client, thereby making the bitrate of thecontent segment sent to the client more appropriate. This results inoverall regulation of the bandwidth condition of the cellular wirelessnetwork and stable reduction of network congestion, thereby solving theproblem of network congestion.

With reference to FIG. 2, it is a systematic architecture of theAdaptive HTTP Streaming of 3GPP, which is an HTTP streaming mediaarchitecture based on a distribution server (HTTP Cache). First, acontent preparation module (Content Preparation) divides content of amultimedia file into segments and packages the contents of the segmentsin a format (for example, 3GP format) to meet requirements so as to formcontent segments, then generates MPD (Media Presentation Description,media presentation description) of the content segments, and pushes thecontent segments and the MPD to the HTTP streaming server (HTTPStreaming Server), where the MPD is description information on thecontent segments, mainly including description on information such aseach content segment, request construction and multi-bitrate. Second,the HTTP streaming server stores the content segments and MPD receivedand implants the content segments and the MPD into the distributionserver in response to the request of the distribution server, andmeanwhile the HTTP streaming server also receives content update fromthe content preparation module; the distribution server receives an MPDrequest from an HTTP streaming client (HTTP Streaming Client), and whenthe requested MPD exists in the buffer of the distribution server, sendsthe MPD to the client. Finally, the client selects an appropriatebitrate from the received MPD according to the bandwidth resourcedetected by itself, generates a content segment request information URL(Uniform Resource Locator, uniform resource locator), and requests for acontent segment from the distribution server. Herein, the streamingmedia services include on-demand and live programs.

Embodiment 2

In order to reduce the complexity of the client, and enable the clientnot to detect the bandwidth resource and select the bitrate, theembodiment of the present invention provides a processing method forstreaming media, which can be executed on a distribution server forstreaming media, where the distribution server for streaming media maybe located in an RNC or eNB of a wireless network. With reference toFIG. 3, the procedures of the processing method includes:

301: constructing a client MPD (Client MPD) by a distribution serveraccording to an original MPD in a buffer;

Specifically, constructing the client MPD may include: removing aRepresentation (representation) element in the original MPD in thebuffer of the distribution server, and saving as the client MPD. Sincethe client MPD only saves the information for generating a contentsegment request URL, not carrying other multi-bitrate relatedinformation of the content segments in the Representation element, thesize of the client MPD is smaller than that of the original MPD. That isto say, the client is not made to perform selection according to themultiple bitrates in the MPD, and then the client no longer needs toperform bandwidth detection by itself.

302: receiving an MPD request sent by a client;

Specifically, the client may acquire the URL of the MPD in anout-of-band manner, and send the MPD request to the distribution serverthrough the URL.

303: determining whether the requested MPD exists, and if yes, sending acorresponding client MPD to the client;

Specifically, if the MPD requested by the client exists in the buffer ofthe distribution server, the client MPD corresponding to the MPDrequested by the client as constructed in step 301 is sent to theclient, instead of the original MPD. Since the size of the client MPD issmaller than that of the original MPD, the sending speed is relativelyhigher.

304: receiving a content segment request information sent by the client,where the content segment request information does not includes arequired bitrate;

Specifically, since the client MPD does not carry relevant informationin the Representation element, the content segment request informationgenerated by the client according to the client MPD does not carryinformation of the required bitrate, and thus it is unnecessary for theclient to perform detection on occupation condition of its buffer.

305: acquiring resource information of a wireless network where theclient is located;

Where the resource information may be a historical transmission rate,which specifically refers to the data transmission rate of the wirelessnetwork at a time prior to the current time.

306: predicting a data transmission rate of the wireless networkaccording to the resource information;

Where the predicted data transmission rate of the wireless network maybe specifically the data transmission rate of the client in the wirelessnetwork at a next moment.

Specifically, according to the historical transmission rate, the datatransmission rate of the wireless network at the next moment ispredicted by using a prediction method of linear minimum variance. Theembodiment of the present invention is not limited to the predictingmanner of linear minimum variance, and may also adopt other predictingmanners.

For example, the data transmission rate is recorded in a time intervalof one second, and the previously recorded historical transmission ratesare read as: 962, 914, 884, 813, 758, 990, 1036, 702, 935, 1049, 1013,946, 933, 734, 1004, 980, 946, 967, 871, 838, 928, 885, 883, 694, 881,949, 931, 937, 840, 1135, 1033, 940, 1179 (unit: kbps). By means ofdifferential operation, it can be found that the historical transmissionrate basically conforms to an ARMA (Auto Regression Moving Average, autoregression moving average) model. According to an autocorrelation andpartial correlation analysis method of the ARMA model, by means of anMATLAB (Matrix Laboratory, matrix laboratory) program, the order of theARMA model ARMA (p, q) is determined, and the data transmission rate atthe next moment can be predicted as 918 kbps.

In practical application, the function of the distribution server can berealized in the RNC or eNB of the wireless network, and the datatransmission rate of the network may be deduced most immediately at thehighest speed by using the RNC or the eNB.

307: acquiring user information of the client;

Where the user information includes user level information and/orterminal capability information. The user level information is a levelof a user acquired during subscription, such as golden user, silveruser, and bronze user, and the user level defines the bandwidth resourceavailable for the user. The terminal capability information is reportedby the client, and contains relevant information of the client terminalwhere the user is located and a browser, such as screen resolution,terminal system platform, terminal type, terminal IMEI (InternationalMobile Equipment Identity, international mobile equipment identity),terminal configuration Profile, CPU (Central Processing Unit, centralprocessing unit), memory, etc. The user information may also includeother useful information such as user selection information, configuredto select languages and subtitles of the content segments.

Specifically, the embodiment of the present invention does not makespecific definition on the manner of reporting the terminal capabilityinformation by the client, and the terminal capability information canbe carried through an HTTP protocol, or through UE Capability(capability), or other manners. When carried through the HTTP protocol,it can be carried in the header field of the HTTP request sent to thedistribution server, for example:

-   -   GET ######### HTTP/1.1    -   Accept:*/*    -   Accept-Language:en-us    -   Connection:Keep-Alive    -   Host:#########    -   User-Agent:Mozilla/4.0(compatible; MSIE 6.0; Windows CE;        IEMobile 8.12; MSIEMobile 6.0)    -   UA-pixels:240×320    -   UA-color:color16    -   UA-OS:Windows CE(Pocket PC)—Version 5.2    -   UA-CPU:x86    -   Accept-Encoding:gzip,deflate    -   UA-Voice:TRUE

When carried through the UE Capability, the terminal capabilityinformation can be transferred through signaling messages between theclient and the base station or the base station controller. For example,the UE Capability can be carried in an Attach Request (attach requestmessage) or a TAU Request (tracking area update request message), and isnot limited to the two request messages illustrated herein.

308: according to the acquired user information, selecting a contentsegment matching the data transmission rate;

Optionally, when the acquired user information is the user levelinformation, selecting the content segment with a bitrate less than orequal to the data transmission rate, and less than or equal to themaximum bitrate that may be supported by the client, provided in theuser level information;

When the acquired user information is the terminal capabilityinformation, selecting the content segment with a bitrate less than orequal to the data transmission rate, and less than or equal to themaximum bitrate that may be supported by the client, provided in theterminal capability information; and

When the acquired user information is the user level information and theterminal capability information, selecting the content segment with abitrate less than or equal to the data transmission rate, and less thanor equal to the maximum bitrate that may be supported by the client,provided in the user level information and the terminal capabilityinformation.

For example, the distribution server predicts that the data transmissionrate of the client in the wireless network may reach 1130 kbps at thenext moment, but the user information indicates that the client cannotsupport the playing of files with a bitrate higher than 845 kbps, atthis time, only the content segment with a maximum bitrate of 845 kbpscan be responded to the client.

309: sending the content segment to the client.

Where when the content segments are sent to the client, the manner ofHTTP streaming (HTTP Streaming), namely, an HTTP request/response modecan be adopted, and for one content segment request, only one contentsegment is responded. When the client is viewing a whole multimediafile, multiple pieces of content segment request information need to besent to achieve viewing.

Optionally, in order to increase the transmission efficiency ofmultimedia files, when the content segments are sent to the client, theHTTP chunk (HTTP Chunk) transmission manner can be adopted. When theHTTP chunk manner is adopted, the client only needs to request once, andthe distribution server may send the content segments one by one to theclient in the HTTP chunk manner. Where settings can be made in themessage header of the HTTP response to perform Chunked encodingtransmission, which is as follows:

Transfer-Encoding: Chunked

What should be noted is that, it is only necessary to ensure that thestep 307 of acquiring the user information is executed before selectingthe matching content segments, that is, the step 307 may be executed atany time before the step 308 is executed. The embodiment of the presentinvention is merely illustrated in the above sequence, but is notlimited to so.

According to the method provided by the embodiment of the presentinvention, the distribution server acquires the resource information ofthe wireless network where the client is located, predicts the datatransmission rate of the wireless network according to the resourceinformation, and further selects the content segments matching the datatransmission rate for the client, thereby achieving the followingadvantageous effects:

First, the distribution server predicts the data transmission rate ofthe wireless network at the next moment according to the historicaltransmission data of the wireless network, which can determine on thewhole the network bandwidth condition, and serve as the basis forselecting the content segments matching the data transmission rate forthe client and adjusting the bitrate, so as to better solve the problemof network congestion;

Second, in a multi-user cell, in case of network congestion, thedistribution server determines the network bandwidth condition on thewhole, and the client does not perform selection of bitrates, therefore,the distribution server may adjust the bandwidth of the cellmacroscopically so that the network congestion is stably alleviated andthe problem of network congestion is solved;

Third, after predicting the data transmission rate of the wirelessnetwork, the distribution server immediately assigns the content segmentwith an appropriate bitrate to the client, thus the effect of carryingout more real-time bitrate adaption is achieved, and the time requiredby the prior art where the client checks the bandwidth, selects thebitrate, and requests the server to adjust the bitrate is shortened sothat the rate of adjusting bitrate in this embodiment can be kept upwith the changing rate of network bandwidth;

Fourth, if the distribution server makes an additional reference to userinformation for bitrate selection, the content segments with a higherbitrate within the client's capacity can be provided to the client whenthe bandwidth resource is in a sound condition, thereby improving theuser experience;

And finally, according to the method provided in this embodiment, thedistribution server constructs and uses the client MPD, so the contentsegment request information sent by the client shall not include therequired bitrate, that is to say, it is unnecessary for the client toperform bandwidth detection, so that the complexity is reduced at theclient.

In addition, in the HTTP request/response mode adopted by the HTTPstreaming media, only one content segment can be responded when onerequest is sent, in this way, the efficiency is lower for the largenumber of content segments in the HTTP streaming media. When the HTTPchunk manner in the embodiment of the present invention is adopted tosend the content segments to the client, the client only needs torequest once, and the distribution server may send the content segmentsone by one to the client in the HTTP chunk manner, thereby increasingthe transmission efficiency of the multimedia files.

Embodiment 3

As regards to the subsequent processing, by the distribution server, acontent segment request of the client, the embodiment of the presentinvention provides a processing method for streaming media, which can beexecuted on a distribution server for streaming media, where thedistribution server for streaming media may be located in an RNC or eNBof a wireless network. With reference to FIG. 4, the procedures of theprocessing method include:

401: receiving content segment request information sent by a client,where the content segment request information includes a requiredbitrate;

Specifically, the client, after performing bandwidth detection accordingto the occupation situation of its buffer, selects information such asthe required bitrate, resolution and language from a Representationelement in the content segment request information, and sends thecontent segment request information to the distribution server. Assumingthat the required bitrate of the client is Bitrate 1.

402: acquiring resource information of a wireless network where theclient is located;

403: predicting a data transmission rate of the wireless networkaccording to the resource information;

The implementing manner of steps 402-403 is the same as that of thesteps 305-306 in the embodiment 2, and can be known from the steps305-306, which is not repeated herein.

404: selecting a content segment matching the data transmission rate;

Specifically, comparing the data transmission rate with the requiredbitrate; when the data transmission rate is less than the requiredbitrate, selecting the content segment with a bitrate less than or equalto the data transmission rate; and when the data transmission rate isgreater than or equal to the required bitrate, selecting the contentsegment with a bitrate equal to the required bitrate.

That is to say, if the bitrate of the content segment requested by theclient is Bitrate 1, the bitrate is compared with the data transmissionrate Bitrate 2 predicted by the distribution server, and the contentsegment with a matched bitrate is selected. Assuming that the bitrate ofthe selected content segment is Bitrate 3, if the distribution serverdetermines that Bitrate 2<Bitrate1, then Bitrate 3≦Bitrate 2; and if thedistribution server determines that Bitrate1≧Bitrate1, then Bitrate3=Bitrate 1.

For example, media bitrate information carried in the MPD is: 350 kbps,470 kbps, 630 kbps, 845 kbps and 1130 kbps; when the Bitrate 1=1130kbps, on the basis of the bandwidth detection of the distributionserver, the data transmission rate predicted is Bitrate 2=900 kbps, andthe bitrate of the content segment responded is Bitrate 3=845 kbps.

405: sending the content segment to the client.

Please refer to the implementing manner of the step 309 in theembodiment 2 for details, which is not repeated herein.

According to the method provided by the embodiment of the presentinvention, the distribution server acquires the resource information ofthe wireless network where the client is located, predicts the datatransmission rate of the wireless network according to the resourceinformation, and further selects the content segment matching the datatransmission rate for the client with reference to the required bitrateof the client, thereby achieving the following advantageous effects:

First, the distribution server predicts the data transmission rate ofthe wireless network at the next moment according to the historicaltransmission data of the wireless network, which can determine on thewhole the network bandwidth condition, and serve as the basis forselecting the content segment matching the data transmission rate forthe client and adjusting the bitrate, so as to better solve the problemof network congestion;

Second, in a multi-user cell, in case of network congestion, thedistribution server determines the network bandwidth condition on thewhole, if the required bitrate of the client is high and the datatransmission rate predicted by the distribution server is insufficient,the content segment with a lower bitrate is sent to the client, at thistime, if the bandwidth saved is still insufficient, a response of alower bitrate is made to requests for high-bitrate content segmentsrequired by other clients as demanded, therefore the distribution servermay adjust the bandwidth of the cell macroscopically so that the networkcongestion is stably alleviated and further the problem of networkcongestion is solved;

Third, in the prior art, the client, according to the occupationsituation of its buffer, detects the bandwidth, selects the bitrate, andrequests the server to adjust the bitrate. Upon receiving the request,the server delivers the content segments with the corresponding bitratesso as to adjust the bitrate. The whole period of adjusting the bitratesis overly long, and when the server adjusts the bitrates according tothe required bitrate of the client, the network bandwidth condition mayhave been changed, so it is not timely. According to the method providedin this embodiment, after predicting the data transmission rate of thewireless network, the distribution server immediately assigns thecontent segment with an appropriate bitrate to the client with referenceto the required bitrate of the client, so as to achieve a better effectof adapting the bitrate in real time. In this way, the rate of adjustingthe bitrates in this embodiment is kept up with the changing rate ofnetwork bandwidth;

In addition, in the HTTP request/response mode adopted by the HTTPstreaming media, only one content segment can be responded when onerequest is sent, in this way, the efficiency is lower for the largenumber of content segments in the HTTP streaming media. When the HTTPchunk manner in the embodiment of the present invention is adopted tosend the content segments to the client, the client only needs torequest once, and the distribution server may send the content segmentsone by one to the client in the HTTP chunk manner, thereby increasingthe transmission efficiency of the multimedia files.

Embodiment 4

The embodiment of the present invention further provides a processingmethod for streaming media, which can be executed on a distributionserver for streaming media, where the distribution server for streamingmedia may be located in an RNC or an eNB of a wireless network. Withreference to FIG. 5, steps 501-503 are substantially the same as thesteps 401-403 in the embodiment 3 respectively, thus being not repeatedherein. The main difference between this embodiment and the embodiment 3lies in that the method further comprises:

504: acquiring user information of the client;

Please refer to the implementing manner of the step 307 in theembodiment 2 for details, which is not repeated herein.

505: according to the acquired user information, selecting a contentsegment matching the data transmission rate;

Specifically, comparing the data transmission rate with the requiredbitrate; when the data transmission rate is less than the requiredbitrate, selecting the content segment with a bitrate less than or equalto the data transmission rate; and when the data transmission rate isgreater than or equal to the required bitrate, selecting the contentsegment according to the following manners:

In one manner, when the acquired user information is the user levelinformation, selecting the content segment with a bitrate greater thanor equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate thatmay be supported by the client provided in the user level information;

When the acquired user information is the terminal capabilityinformation, selecting the content segment with a bitrate greater thanor equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate thatmay be supported by the client provided in the terminal capabilityinformation;

When the acquired user information is the user level information and theterminal capability information, selecting the content segment with abitrate greater than or equal to the required bitrate, less than orequal to the data transmission rate, and less than or equal to themaximum bitrate that may be supported by the client provided in the userlevel information and the terminal capability information.

That is to say, if the bitrate of the content segment requested by theclient is Bitrate 1, the bitrate is compared with the data transmissionrate Bitrate 2 predicted by the distribution server, and the contentsegment with the matched bitrates are selected. Assuming that thebitrate of the selected content segment is Bitrate 3, if thedistribution server determines that Bitrate 2<Bitrate1, then Bitrate3≦Bitrate 2; and if the distribution server determines thatBitrate2≧Bitrate1, then Bitrate1≦Bitrate 3≦Bitrate4. Bitrate 4 is themaximum bitrate which may be supported by the client provided in theuser information.

For example, the media bitrate information carried in the MPD is: 350kbps, 470 kbps, 630 kbps, 845 kbps and 1130 kbps; when the Bitrate1=1130 kbps, on the basis of the bandwidth detection of the distributionserver, the data transmission rate predicted is Bitrate 2=900 kbps, itis considered there are no enough resources, and the bitrate of thecontent segment responded is Bitrate 3=845 kbps. When the Bitrate 1=630kbps, on the basis of the bandwidth detection of the distributionserver, the data transmission rate predicted is Bitrate 2=1130 kbps, itis considered there are enough resources, but the user informationindicates that the client cannot support the playing of files with abitrate higher than 845 kbps, and at this time, only the content segmentwith a maximum bitrate of 845 kbps may be responded to the client.

506: sending the content segment to the client.

Please refer to the implementing manner of the step 309 in theembodiment 2 for details, which is not repeated herein.

What should be noted is that, it is only necessary to ensure that thestep 504 of acquiring the user information is executed before selectingthe content segments with the matched bitrates, that is, the step 504may be executed at any time before the step 505 is executed. Theembodiment of the present invention is merely illustrated in the abovesequence, but not limited to so.

According to the method provided by the embodiment of the presentinvention, the distribution server acquires the resource information ofthe wireless network where the client is located, predicts the datatransmission rate of the wireless network according to the resourceinformation, and further selects the content segment matching the datatransmission rate for the client with reference to the required bitrateof the client and the user information, thereby achieving not only allthe advantageous effects in the embodiment 3, but also the followingadvantageous effects with respect to the embodiment 3:

If the distribution server selects the bitrate with reference to theuser information at the same time, when the required bitrate of theclient is lower and the bandwidth resource is sufficient, the contentsegment with a bitrate higher than the required bitrate of the clientand falling within the client's capability scope can be provided to theclient, so that the selected bitrate is more accurate and appropriate,thereby improving the user experience.

Embodiment 5

The embodiment of the present invention further provides a processingmethod for streaming media, which can be executed on a distributionserver for streaming media, where the distribution server for streamingmedia may be located in an RNC or eNB of a wireless network. Withreference to FIG. 6, steps 601-603 are substantially the same as thesteps 401-403 in the embodiment 3 respectively, which are not repeatedherein. The main difference between this embodiment and the embodiment 3lies in that the method further comprises:

604: comparing the required bitrate in the content segment requestinformation sent by the client with the bitrate which may be supportedby the client recorded in local information, and if the required bitrateis greater than the bitrate which may be supported by the clientrecorded in the local information, updating the local information intoinformation of the required bitrate;

where the local information may be stored locally in various manners,for recording the bitrate that can be supported by the client. Theembodiment of the present invention is illustrated by takingestablishing a client's bitrate capability table as an example, but notlimited to so. With reference to Table 1, it is a new establishedclient's bitrate capability table with every initial value being null:

TABLE 1 Client identity Video streaming identity Max bitrate (ClientIdentity) (Video Identity) (Max Bitrate) NULL NULL NULL

where the client identity may be the client's IP (Internet Protocol,internet protocol) address, and may also be other identities; the videostreaming identity may be a video URL address identity of a HTTPrequest, and may also be other identities; and the maximum bitrate isthe maximum bitrate applied by the client currently.

As regards the step, each time the client sends the content segmentrequest information, the distribution server needs to determine whetherto refresh the bitrate capability table according to the requiredbitrate in the content segment request information. When the requiredbitrate is greater than the corresponding maximum bitrate, the bitratecapability table is refreshed, and when the required bitrate is lessthan or equal to the corresponding maximum bitrate, the bitratecapability table is unchanged. When the content segment requestinformation sent by the client is not recorded in the bitrate capabilitytable, a new initial record is added directly.

For example, when the first content segment request information sent bythe client is received, the bitrate carried is Bitrate=845000 bps, andat this time, the client's IP address is 192.168.1.1, the videostreaming identity is identified by using the video URL:http:/www.example.com/videoname.mp4, and the refreshed client bitratecapability table is as follows:

TABLE 2 Client identity Video streaming identity Max bitrate 192.168.1.1http:/www.example.com/videoname.mp4 845000 bps

At this time, if the distribution server, after performing the bandwidthdetection, considers that the current bandwidth environment cannotsatisfy the data transmission rate of 845000 bps, it can respond with acontent segment with a Bitrate of 630000 bps.

If the bitrate carried in the subsequent content segment requestinformation of the video received from the client is Bitrate=1130000bps, 1130000 bps>845000 bps, the refreshed client's bitrate capabilitytable is as follows:

TABLE 3 Client identity Video streaming identity Max bitrate 192.168.1.1http:/www.example.com/videoname.mp4 1130000 bps

605: according to the bitrate which may be supported by the clientrecorded in the current local information, selecting a content segmentmatching the data transmission rate;

specifically, selecting the content segment with a bitrate less than orequal to the data transmission rate, and less than or equal to thebitrate which may be supported by the client recorded in the currentlocal information.

606: sending the content segment to the client.

Please refer to the implementing manner of the step 309 in theembodiment 2 for details, which is not repeated herein.

It should be noted that, the step 604 may also be executed before thestep 603, only if the client's maximum bitrate capability table isestablished and updated according to the required bitrate in the contentsegment request information after the content segment requestinformation is received. The embodiment of the present invention doesnot make definitions on the specific implementing position of the step604.

According to the method provided by the embodiment of the presentinvention, the distribution server acquires the resource information ofthe wireless network where the client is located, predicts the datatransmission rate of the wireless network according to the resourceinformation, and further selects the content segment matching the datatransmission rate for the client with reference to the required bitrateof the client and the bitrate which may be supported by the clientrecorded in the current local information, thereby achieving not onlyall the advantageous effects in the embodiment 3, but also the followingadvantageous effects with respect to the embodiment 3:

if the distribution server selects the bitrate with reference to thebitrate which may be supported by the client recorded in the currentlocal information at the same time, when the required bitrate of theclient is lower and the bandwidth resource is sufficient, the contentsegment with a bitrate higher than the required bitrate of the clientand less than or equal to the maximum bitrate may be provided to theclient, so that the selected bitrate may be more accurate andappropriate, thereby improving the user experience.

Embodiment 6

The embodiment of the present invention further provides a processingmethod for streaming media, which can be executed on a distributionserver for streaming media, where the distribution server for streamingmedia may be located in an RNC or an eNB of a wireless network. Withreference to FIG. 7, the processing method includes:

701: receiving content segment request information sent by a client;

702: acquiring resource information of a wireless network where theclient is located, where the resource information is signal qualityparameter information;

Specifically, the signal quality parameter information may be bandwidth,power, gain, signal-noise ratio and other information of the wirelessnetwork.

703: predicting the data transmission rate of the wireless networkaccording to the signal quality parameter information;

Where the predicted data transmission rate of the wireless network maybe specifically a data transmission rate of the client in the wirelessnetwork at a next moment.

Specifically, determining whether the wireless network is congestedaccording to the signal quality parameter information, if congested,determining whether a ratio of traffic of streaming media services inthe wireless network to traffic of all services is greater than a firstpreset threshold, and if yes, predicting that the data transmission rateof the wireless network decreases at the next moment; and if notcongested, determining whether a ratio of data in a transmission queueof the distribution server to a size of a buffer area is less than asecond preset threshold, and if yes, predicting that the datatransmission rate of the wireless network increases at the next moment.

Hereinafter, predicting the data transmission rate of the wirelessnetwork according to the power of the wireless network is taken as anexample for illustration: (where P_non_hspa represents non-HSPA (HighSpeed Packet Access, high speed packet access) power, P_hsupa_respresents HSUPA (High Speed Uplink Packet Access, high speed uplinkpacket access) reserved power, P_gbr_str represents GBR (Guaranteed BitRate, guaranteed bitrate) power of the streaming service, P_maxrepresents the cell's maximum power, and Thr_olc_trig represents anoverload trigger threshold).

Assuming that the first preset threshold is 30% and the second presetthreshold is 70%, they are not limited to so, and can be set as othervalues according to the actual situation;

When P_non_hspa+P_hsupa_res+P_gbr_str>P_max*Thr_olc_trig, the network iscongested, at this time, if a ratio of the traffic of the streamingmedia services in the wireless network to the traffic of all services isgreater than 30%, it is predicted that the data transmission rate of thewireless network decreases at the next moment, and it is necessary todecrease the bitrate of the content segment sent;

When P_non_hspa+P_hsupa_res+P_gbr_str<P_max*Thr_olc_trig, the network isnot congested, at this time, if a ratio of data in a transmission queueof the distribution server to a size of a buffer area is less than 70%,it is predicted that the data transmission rate of the wireless networkincreases at the next moment, and it is necessary to increase thebitrate of the content segment sent.

704: selecting the content segment matching the data transmission rate;

Specifically, when it is predicted that the data transmission rate ofthe wireless network decreases at the next moment, a content segmentwith a bitrate one level lower than that of the sent previous contentsegment may be selected; and when it is predicted that the datatransmission rate of the wireless network increases at the next moment,a content segment with a bitrate one level higher than that of theprevious content segment may be selected.

705: sending the content segment to the client.

Please refer to the implementing manner of the step 309 in theembodiment 2 for details, which is not repeated herein.

According to the method provided by the embodiment of the presentinvention, the distribution server acquires the signal quality parameterinformation of the wireless network where the client is located, furtherpredicts whether the data transmission rate of the wireless networkincreases or decreases according to the signal quality parameterinformation, and further selects the content segment matching the datatransmission rate for the client, thereby achieving the followingadvantageous effects:

First, the distribution server predicts whether the data transmissionrate of the wireless network increases or reduces at the next momentaccording to the signal quality parameter information of the wirelessnetwork, which can determine on the whole the network bandwidthcondition, and serve as the basis for reducing or increasing the bitrateof the next content segment on the basis of the bitrate of the previouscontent segment, so as to better solve the problem of networkcongestion;

Second, after predicting the data transmission rate of the wirelessnetwork, the distribution server immediately assigns the content segmentwith an appropriate bitrate to the client, thus the effect of carryingout bitrate adaption in real time is achieved, and the time required bythe prior art where the client checks the bandwidth, selects thebitrate, and requests the server to adjust the bitrate is shortened. Inthis way, the speed of adjusting the bitrate in this embodiment is keptup with the changing rate of network bandwidth.

In addition, in the HTTP request/response mode adopted by the HTTPstreaming media, only one content segment can be responded when onerequest is sent, in this way, the efficiency is lower for the largenumber of content segments in the HTTP streaming media. When the HTTPchunk manner in the embodiment of the present invention is adopted tosend the content segments to the client, the client only needs torequest once, and the distribution server may send the content segmentsone by one to the client in the HTTP chunk manner, thereby increasingthe transmission efficiency of multimedia files.

Embodiment 7

The embodiment of the present invention provides a distribution serverfor HTTP streaming media, which can implement the method at thedistribution server side in the above method embodiments. With referenceto FIG. 8, the distribution server includes:

a receiving module 801, configured to receive content segment requestinformation sent by a client;

a first acquiring module 802, configured to acquire, after the receivingmodule 801 receives the content segment request information sent by theclient, resource information of a wireless network where the client islocated;

a predicting module 803, configured to predict a data transmission rateof the wireless network according to the resource information acquiredby the first acquiring module 802;

a selecting module 804, configured to select a content segment matchingthe data transmission rate predicted by the predicting module 803; and

a sending module 805, configured to send the content segment selected bythe selecting module 804 to the client.

In one implementing manner, the resource information acquired by thefirst acquiring module 802 includes signal quality parameterinformation;

Correspondingly, a predicting module 803 is specifically configured todetermine whether the wireless network is congested according to thesignal quality parameter information, if congested, determine whether aratio of traffic of streaming media services in the wireless network totraffic of all services is greater than a first preset threshold, and ifyes, predict that the data transmission rate of the wireless networkdecreases at the next moment; and if not congested, determine whether aratio of data in a local transmission queue to a size of a buffer areais less than a second preset threshold, and if yes, predict that thedata transmission rate of the wireless network increases at the nextmoment, that is to say, particularly configured to realize the contentof the step 703 in the present invention;

Correspondingly, a selecting module 804, is specifically configured toselect, when it is predicted that the data transmission rate of thewireless network at the next moment reduces, a content segment with abitrate on level lower than that of the sent previous content segment;and select, when predicting that the data transmission rate of thewireless network at the next moment increases, a content segment with abitrate one level higher than that of the sent previous content segment.

In this implementing manner, the distribution server acquires the signalquality parameter information of the wireless network where the clientis located, further predicts whether the data transmission rate of thewireless network increases or decreases according to the signal qualityparameter information, and further selects the content segment matchingthe data transmission rate for the client, thereby achieving thefollowing advantageous effects:

First, the distribution server predicts whether the data transmissionrate of the wireless network increases or decreases according to thesignal quality parameter information of the wireless network, whichdetermines on the whole the network bandwidth condition, and serve asthe basis for reducing or increasing the bitrate of the next contentsegment on the basis of the bitrate of the previous content segment, soas to better solve the problem of network congestion; second, afterpredicting the data transmission rate of the wireless network, thedistribution server immediately assigns the content segment with anappropriate bitrate to the client, thus the effect of carrying outbitrate adaption in real time is achieved and the time required by theprior art where the client checks the bandwidth, selects the bitrate,and requests the server to adjust the bitrate is shortened, thereby thespeed of adjusting bitrate in this embodiment being kept up with thechanging rate of network bandwidth.

In another implementing manner, the resource information acquired by thefirst acquiring module 802 includes a historical transmission rate;

Correspondingly, the predicting module 803 is specifically configured topredict the data transmission rate of the wireless network at the nextmoment by using a prediction method of linear minimum variance accordingto the historical transmission rate.

In this implementing manner, when the content segment requestinformation received by the receiving module 801 does not include therequired bitrate, optionally, with reference to FIG. 9, the distributionserver may further include:

a second acquiring module 806, configured to acquire, before theselecting module 804 selects the content segment, user level informationof the client; correspondingly, the selecting module 804 is specificallyconfigured to select the content segment with a bitrate less than orequal to the data transmission rate, and less than or equal to themaximum bitrate which may be supported by the client provided in theuser level information;

Alternatively, optionally, with reference to FIG. 10, the distributionserver may further include:

a third acquiring module 807, configured to acquire, before theselecting module 804 selects the content segment, terminal capabilityinformation of the client; correspondingly, the selecting module 804 isspecifically configured to select the content segment with a bitrateless than or equal to the data transmission rate, and less than or equalto the maximum bitrate which may be supported by the client provided inthe terminal capability information.

Alternatively, optionally, with reference to FIG. 11, the distributionserver may further include:

a fourth acquiring module 808, configured to acquire, before theselecting module 804 selects the content segment, the user levelinformation and the terminal capability information of the client;correspondingly, the selecting module 804 is specifically configured toselect the content segment with a bitrate less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate whichmay be supported by the client provided in the user level informationand the terminal capability information.

Optionally, in this implementing manner, when the content segmentrequest information received by the receiving module 801 includes therequired bitrate, the selecting module 804 is specifically configured tocompare the data transmission rate with the required bitrate; select thecontent segment with a bitrate less than or equal to the datatransmission rate when the data transmission rate is less than therequired bitrate; and select the content segment with a bitrate equal tothe required bitrate when the data transmission rate is greater than orequal to the required bitrate. On such basis, optionally, with referenceto FIG. 9, the distribution server may further comprise:

a second acquiring module 806, configured to acquire, before theselecting module 804 selects the content segment, the user levelinformation of the client; correspondingly, the selecting module 804 isspecifically configured to compare the data transmission rate with therequired bitrate; when the data transmission rate is less than therequired bitrate, select a content segment with a bitrate less than orequal to the data transmission rate; when the data transmission rate isgreater than or equal to the required bitrate, select a content segmentwith a bitrate greater than or equal to the required bitrate, less thanor equal to the data transmission rate, and less than or equal to themaximum bitrate which may be supported by the client provided in theuser level information;

Alternatively, optionally, with reference to FIG. 10, the distributionserver may further includes:

a third acquiring module 807, configured to acquire, before theselecting module 804 selects the content segment, the terminalcapability information of the client; correspondingly, the selectingmodule 804 is specifically configured to compare the data transmissionrate with the required bitrate; when the data transmission rate is lessthan the required bitrate, select a content segment with a bitrate lessthan or equal to the data transmission rate; when the data transmissionrate is greater than or equal to the required bitrate, select a contentsegment with a bitrate greater than or equal to the required bitrate,less than or equal to the data transmission rate, and less than or equalto the maximum bitrate which may be supported by the client provided inthe terminal capability information;

Alternatively, optionally, with reference to FIG. 11, the distributionserver may further include:

a fourth acquiring module 808, configured to acquire, before theselecting module 804 selects the content segment, the user levelinformation and the terminal capability information of the client;correspondingly, the selecting module 804 is specifically configured tocompare the data transmission rate with the required bitrate; when thedata transmission rate is less than the required bitrate, select acontent segment with a bitrate less than or equal to the datatransmission rate; when the data transmission rate is greater than orequal to the required bitrate, select a content segment with a bitrategreater than or equal to the required bitrate, less than or equal to thedata transmission rate, and less than or equal to the maximum bitratewhich may be supported by the client provided in the user levelinformation and the terminal capability information.

Alternatively, optionally, with reference to FIG. 12, when the contentsegment request information received by the receiving module 801includes the required bitrate, the distribution server further includes:

an updating module 809, configured to compare, before the selectingmodule 804 selects the content segment, the required bitrate with thebitrate which may be supported by the client recorded in localinformation, if the required bitrate is greater than the bitrate whichmay be supported by the client recorded in the local information, updatethe local information into information of the required bitrate;correspondingly, the selecting module 804 is specifically configured toselect a content segment with a bitrate less than or equal to the datatransmission rate, and less than or equal to the bitrate which may besupported by the client recorded in the current local information.

Furthermore, the aforementioned sending module 805 may be configured tosend the content segment to the client by means of the HTTP chunktransmission manner.

The advantageous effects of the aforementioned second implementingmanner are as follows:

First, the distribution server predicts the data transmission rate ofthe wireless network at the next moment according to the historicaltransmission data of the wireless network, which determines on the wholethe network bandwidth condition, and serve as the basis for selectingthe content segment matching the data transmission rate for the clientand adjusting the bitrate, so as to better solve the problem of networkcongestion;

Second, in a multi-user cell, in case of network congestion, thedistribution server determines the network bandwidth condition on thewhole, and the client does not carry out bitrate selection, therefore,the distribution server may adjust the bandwidth of the cellmacroscopically, so that the network congestion is stably alleviated andthe problem of network congestion is solved;

Third, in the prior art, the client detects the bandwidth according tothe occupation situation of its buffer, selects the bitrate, andrequests the server to adjust the bitrate. Upon receiving the request,the server delivers the content segments with the corresponding bitratesso as to adjust the bitrate. The whole period of adjusting the bitrateis overly long, and when the server adjusts the bitrate according to therequired bitrate of the client, the network bandwidth condition may havebeen changed, so it is not timely. According to the method provided inthis embodiment, the distribution server predicts the data transmissionrate of the wireless network, and then immediately assigns the contentsegment with an appropriate bitrate to the client with reference to therequired bitrate of the client, so as to achieve a better effect ofperforming the bitrate adaption in real time. In this way, the speed ofadjusting bitrate in this embodiment is kept up with the changing rateof network bandwidth;

Finally, if the distribution server makes an additional reference to theuser level information and the terminal capability information forbitrate selection, the content segment with a higher bitrate within theclient's capability scope can be provided to the client when thebandwidth resource is in a sound condition, thereby improving the userexperience;

In addition, in the HTTP request/response mode adopted by the HTTPstreaming media, only one content segment can be responded when onerequest is sent, the efficiency is relatively low for the large numberof content segments in the HTTP streaming media. When the HTTP chunkmanner in the embodiment of the present invention is adopted to send thecontent segments to the client, the client only needs to request once,and the distribution server may send the content segments one by one tothe client in the HTTP chunk manner, thereby increasing the transmissionefficiency of multimedia files.

Embodiment 8

The embodiment of the present invention provides a processing method forstreaming media, which can be executed on a client requesting thestreaming media content to the distribution server. With reference toFIG. 13, the procedures of the method includes:

1301: sending content segment request information to a distributionserver;

Optionally, the content segment request information may include or notincludes the required bitrate.

1302: Receiving a content segment sent by the distribution server.

Where the content segment is a content segment that matches a datatransmission rate and selected by the distribution server, afterreceiving the content segment request information sent by the client,through acquiring resource information of a wireless network where theclient is located and predicting the data transmission rate of thewireless network according to the resource information.

When the content segment request information sent in the step 1301 doesnot includes the required bitrate, before receiving the content segmentsent by the distribution server, optionally, any one of the followingimplementing manners may also be included:

In one implementing manner, user level information is sent to thedistribution server; correspondingly, the received content segment is acontent segment which is selected by the distribution server and with abitrate less than or equal to the data transmission rate of the wirelessnetwork, and less than or equal to with the maximum bitrate which may besupported by the client provided in the user level information.

In another implementing manner, terminal capability information is sentto the distribution server; correspondingly, the received contentsegment is a content segment which is selected by the distributionserver and with a bitrate less than or equal to the data transmissionrate of the wireless network, and less than or equal to the maximumbitrate which may be supported by the client provided in the terminalcapability information.

In still another implementing manner, the user level information and theterminal capability information are sent to the distribution server;correspondingly, the received content segment is a content segmentswhich is selected by the distribution server and with a bitrate lessthan or equal to the data transmission rate of the wireless network, andless than or equal to the maximum bitrate which may be supported by theclient provided in the user level information and the terminalcapability information.

Furthermore, when the content segment request information sent in thestep 1301 includes the required bitrate, specifically, the receivedcontent segment is a content segment, selected by the distributionserver through comparing the data transmission rate of the wirelessnetwork with the required bitrate, with a bitrate less than or equal tothe data transmission rate when the data transmission rate is less thanthe required bitrate, or a content segment selected with a bitrate equalto the required bitrate when the data transmission rate is greater thanor equal to the required bitrate.

Further, when the content segment request information sent in the step1301 includes the required bitrate, before receiving the content segmentsent by the distribution server, optionally, any one of the followingimplementing manners may also be included:

In one implementing manner, user level information is sent to thedistribution server; correspondingly, the content segment received is aselected content segment, selected by the distribution server throughcomparing the data transmission rate of the wireless network with therequired bitrate, with a bitrate less than or equal to the datatransmission rate when the data transmission rate is less than therequired bitrate, or a content segment selected with a bitrate greaterthan or equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate whichmay be supported by the client provided in the user level informationwhen the data transmission rate is greater than or equal to the requiredbitrate.

In another implementing manner, terminal capability information is sentto the distribution server; correspondingly, the content segmentreceived is a content segment, selected by the distribution serverthrough comparing the data transmission rate of the wireless networkwith the required bitrate, with a bitrate less than or equal to the datatransmission rate when the data transmission rate is less than therequired bitrate, or a content segment selected with a bitrate greaterthan or equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate whichmay be supported by the client provided in the terminal capabilityinformation when the data transmission rate is greater than or equal tothe required bitrate.

In another implementing manner, the user level information and theterminal capability information are sent to the distribution server;correspondingly, the content segment received is a content segment,selected by the distribution server through comparing the datatransmission rate of the wireless network with the required bitrate,with a bitrate less than or equal to the data transmission rate when thedata transmission rate is less than the required bitrate, or a contentsegment selected with a bitrate greater than or equal to the requiredbitrate, less than or equal to the data transmission rate, and less thanor equal to the maximum bitrate which may be supported by the clientprovided in the user level information and the terminal capabilityinformation when the data transmission rate is greater than or equal tothe required bitrate.

According to the method provided by the embodiment of the presentinvention, the client sends the content segment request information tothe distribution server, the distribution server selects the contentsegment matching the data transmission rate of the wireless network forthe client, such that the bitrate of the content segment sent to theclient can better adapt to the network environment. If the clientadditionally sends user information such as the user level informationor the terminal capability information to the server, the distributionserver can select a more appropriate bitrate in combination with theuser information, when the required bitrate of the client is relativelylow and the bandwidth resource is in good condition, the distributionserver can provide the client with the content segment with a bitratehigher than the required bitrate of the client and less than or equal tothe maximum bitrate supported by the client, thereby improving the userexperience.

Embodiment 9

With reference to FIG. 14, the embodiment of the present inventionprovides a client, which can implement the method at the client side inthe aforementioned method embodiment, the client includes:

a first sending module 1401, configured to send content segment requestinformation to a distribution server;

a receiving module 1402, configured to receive, after the first sendingmodule 1401 sends the content segment request information to thedistribution server, a content segment sent by the distribution server,where the content segment is a content segment which matches a datatransmission rate and is selected by the distribution server, afterreceiving the content segment request information sent by the client,through acquiring resource information of a wireless network where theclient is located and predicting the data transmission rate of thewireless network according to the resource information.

When the content segment request information sent by the first sendingmodule 1401 does not includes the required bitrate, optionally, theclient may includes any one of the following modules:

With reference to FIG. 15, a second sending module 1403, configured tosend, before the receiving module 1402 receives the content segment sentby the distribution server, user level information to the distributionserver; correspondingly, the content segment received by the receivingmodule 1402 is a content segment, selected by the distribution server,with a bitrate less than or equal to the data transmission rate of thewireless network, and less than or equal to the maximum bitrate whichmay be supported by the client provided in the user level information;

Or, with reference to FIG. 16, a third sending module 1404, configuredto send, before the receiving module 1402 receives the content segmentsent by the distribution server, terminal capability information to thedistribution server; correspondingly, the content segment received bythe receiving module 1402 is a content segment, selected by thedistribution server, with a bitrate less than or equal to the datatransmission rate of the wireless network, and less than or equal to themaximum bitrate which may be supported by the client provided in theterminal capability information;

Or, with reference to FIG. 17, a fourth sending module 1405, configuredto send, before the receiving module 1402 receives the content segmentssent by the distribution server, the user level information and theterminal capability information to the distribution server;correspondingly, the content segment received by the receiving module1402 is a content segment, selected by the distribution server, with abitrate less than or equal to the data transmission rate of the wirelessnetwork, and less than or equal to the maximum bitrate which may besupported by the client provided in the user level information and theterminal capability information.

When the content segment request information sent by the first sendingmodule 1401 includes the required bitrate, specifically, the contentsegment received by the receiving module 1402 is a content segment,selected by the distribution server through comparing the datatransmission rate of the wireless network with the required bitrate,with a bitrate less than or equal to the data transmission rate when thedata transmission rate is less than the required bitrate, or a contentsegment selected with a bitrate equal to the required bitrate when thedata transmission rate is greater than or equal to the required bitrate.

Further, when the content segment request information sent by the firstsending module 1401 includes the required bitrate, optionally, theclient may includes any one of the following modules:

with reference to FIG. 15, a second sending module 1403, configured tosend, before the receiving module 1402 receives the content segment sentby the distribution server, user level information to the distributionserver; correspondingly, the content segment received by the receivingmodule 1402 is a content segment, selected by the distribution serverthrough comparing the data transmission rate of the wireless network andthe required bitrate, with a bitrate less than or equal to the datatransmission rate when the data transmission rate is less than therequired bitrate, or a content segment selected with a bitrate greaterthan or equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to the maximum bitrate whichmay be supported by the client provided in the user level informationwhen the data transmission rate is greater than or equal to the requiredbitrate;

Or, with reference to FIG. 16, a third sending module 1404, configuredto send, before the receiving module 1402 receives the content segmentsent by the distribution server, terminal capability information to thedistribution server; correspondingly, the content segment received bythe receiving module 1402 is a content segment, selected by thedistribution server through comparing the data transmission rate of thewireless network and the required bitrate, with a bitrate less than orequal to the data transmission rate when the data transmission rate isless than the required bitrate, or a content segment selected with abitrate greater than or equal to the required bitrate, less than orequal to the data transmission rate, and less than or equal to themaximum bitrate which may be supported by the client provided in theterminal capability information when the data transmission rate isgreater than or equal to the required bitrate;

Or, with reference to FIG. 17, a fourth sending module 1405, configuredto send, before the receiving module 1402 receives the content segmentsent by the distribution server, user level information and terminalcapability information to the distribution server; correspondingly, thecontent segment received by the receiving module 1402 is a contentsegment, selected by the distribution server through comparing the datatransmission rate of the wireless network and the required bitrate, witha bitrate less than or equal to the data transmission rate when the datatransmission rate is less than the required bitrate, or a contentsegment selected with a bitrate greater than or equal to the requiredbitrate, less than or equal to the data transmission rate, and less thanor equal to the maximum bitrate which may be supported by the clientprovided in the user level information and the terminal capabilityinformation when the data transmission rate is greater than or equal tothe required bitrate.

According to the embodiment of the present invention, the client sendsthe content segment request information to the distribution server, thedistribution server selects the content segment matching the datatransmission rate of the wireless network for the client, such that thebitrate of the content segment sent to the client can better adapt tothe network environment. If the client additionally sends userinformation such as the user level information or the terminalcapability information to the server, the distribution server can selecta more appropriate bitrate in combination with the user information; andwhen the required bitrate of the client is relatively low and thebandwidth resource is in good condition, the distribution server canprovide the client with the content segment with a bitrate higher thanthe required bitrate of the client and less than or equal to the maximumbitrate which may be supported by the client, thereby improving the userexperience.

Embodiment 10

With reference to FIG. 18, the embodiment of the present inventionprovides a system for streaming media, including a distribution server1801 and a client 1802;

wherein the distribution server 1801 is a distribution server accordingto the aforementioned embodiment 7; and

the client 1802 is a client according to the aforementioned embodiment9.

According to the system provided by the embodiment of the presentinvention, the distribution server predicts the data transmission rateof the wireless network where the client is located, and further selectsthe content segment matching the data transmission rate for the client.Since the predicted data transmission rate of the wireless network ismore accurate and the bandwidth of the cell is adjusted macroscopically,network congestion can be steadily alleviated, and the problem ofnetwork congestion is solved; and meanwhile, after predicting the datatransmission rate at the next moment, the distribution serverimmediately assigns the content segment with an appropriate bitrate tothe client, thereby achieving faster bitrate adaption.

It should be noted that: the distribution server and client according tothe above embodiment, when transmitting steaming media files, are merelyillustrated by taking the division of the above functional modules, andin the actual application, the above function can be allocated to beaccomplished by different functional modules as demanded, that is, theinternal structures of the distribution server and the client aredivided into different functional modules for accomplishing all orpartial aforementioned functions. In addition, the distribution serverand the client according to the above embodiments belong to the sameconcept as the embodiment of the processing method for streaming media,and the implementing procedures thereof are given in the methodembodiments for details, thus being not repeated herein.

The numbering of the aforementioned embodiments of the present inventionis merely given for description, not standing for the ranking ofadvantageous level of the embodiments.

All or partial steps in the embodiment of the present invention can beimplemented by means of hardware, or be accomplished by relevanthardware instructed by programs, and the programs may be stored in areadable storage medium, such as an optical disk or a hard disk.

The foregoing descriptions are merely preferred embodiments of thepresent invention, but are not intended to limit the present invention.Any variation, equivalent replacement, and improvement made within thespirit and principle of the present invention shall fall within theprotection scope of the present invention.

1. A processing method for streaming media, comprising: receivingcontent segment request information sent by a client; acquiring resourceinformation of a wireless network where the client is located;predicting a data transmission rate of the wireless network according tothe resource information; selecting a content segment matching the datatransmission rate; and sending the content segment to the client.
 2. Themethod according to claim 1, wherein the resource information comprisesa historical transmission rate; predicting the data transmission rate ofthe wireless network according to the resource information comprises:according to the historical transmission rate, predicting the datatransmission rate of the wireless network at a next moment by using aprediction method of linear minimum variance.
 3. The method according toclaim 2, wherein before receiving the content segment requestinformation sent by the client, the method further comprises:constructing a client media presentation description by a distributionserver according to an original media presentation description in abuffer, wherein the client media presentation description does not carrymulti-bitrate related information; receiving a media presentationdescription request sent by a client; determining whether the requestedmedia presentation description exists, and if yes, sending acorresponding client media presentation description to the client. 4.The method according to claim 2, wherein the content segment requestinformation does not comprise a required bitrate; before selecting thecontent segment matching the data transmission rate, the method furthercomprises: acquiring user level information and/or terminal capabilityinformation of the client; correspondingly, selecting the contentsegment matching the data transmission rate comprises: selecting acontent segment with a bitrate less than or equal to the datatransmission rate, and less than or equal to a maximum bitrate which maybe supported by the client provided in the user level information and/orthe terminal capability information.
 5. The method according to claim 2,wherein the content segment request information comprises a requiredbitrate; selecting the content segment matching the data transmissionrate comprises: comparing the data transmission rate with the requiredbitrate; when the data transmission rate is less than the requiredbitrate, selecting a content segment with a bitrate less than or equalto the data transmission rate; and when the data transmission rate isgreater than or equal to the required bitrate, selecting a contentsegment with a bitrate equal to the required bitrate;
 6. The methodaccording to claim 2, wherein the content segment request informationcomprises a required bitrate; before selecting the content segmentmatching the data transmission rate, the method further comprises:acquiring user level information and/or terminal capability informationof the client; correspondingly, selecting the content segment matchingthe data transmission rate comprises: comparing the data transmissionrate with the required bitrate; when the data transmission rate is lessthan the required bitrate, selecting a content segment with a bitrateless than or equal to the data transmission rate; and when the datatransmission rate is greater than or equal to the required bitrate,selecting a content segment with a bitrate greater than or equal to therequired bitrate, less than or equal to the data transmission rate, andless than or equal to a maximum bitrate which may be supported by theclient provided in the user level information and/or the terminalcapability information.
 7. The method according to claim 2, wherein thecontent segment request information comprises a required bitrate; beforeselecting the content segment matching the data transmission rate, themethod further comprises: comparing the required bitrate with a bitratewhich may be supported by the client recorded in local information; andif the required bitrate is greater than the bitrate which may besupported by the client recorded in the local information, updating thelocal information into information of the required bitrate;correspondingly, selecting the content segment matching the datatransmission rate comprises: selecting a content segment with a bitrateless than or equal to the data transmission rate, and less than or equalto the bitrate which may be supported by the client recorded in thecurrent local information.
 8. A distribution server for streaming media,comprising: a receiving module, configured to receive content segmentrequest information sent by a client; a first acquiring module,configured to acquire, after the receiving module receives the contentsegment request information sent by the client, resource information ofa wireless network where the client is located; a predicting module,configured to predict a data transmission rate of the wireless networkaccording to the resource information acquired by the first acquiringmodule; a selecting module, configured to select a content segmentmatching the data transmission rate predicted by the predicting module;and a sending module, configured to send the content segment selected bythe selecting module to the client.
 9. The distribution server accordingto claim 8, wherein the resource information acquired by the firstacquiring module comprises a historical transmission rate; thepredicting module is specifically configured to predict the datatransmission rate of the wireless network at a next moment by using aprediction method of linear minimum variance according to the historicaltransmission rate.
 10. The distribution server according to claim 9,wherein the content segment request information received by thereceiving module does not comprise a required bitrate; the distributionserver further comprises: a second acquiring module, configured toacquire, before the selecting module selects the content segment, userlevel information of the client; and correspondingly, the selectingmodule is specifically configured to select a content segment with abitrate less than or equal to the data transmission rate, and less thanor equal to a maximum bitrate which may be supported by the clientprovided in the user level information; or the distribution serverfurther comprises: a third acquiring module, configured to acquire,before the selecting module selects the content segment, terminalcapability information of the client; and correspondingly, the selectingmodule is specifically configured to select a content segment with abitrate less than or equal to the data transmission rate, and less thanor equal to a maximum bitrate which may be supported by the clientprovided in the terminal capability information; or the distributionserver further comprises: a fourth acquiring module, configured toacquire, before the selecting module selects the content segment, userlevel information and terminal capability information of the client; andcorrespondingly, the selecting module is specifically configured toselect a content segment with a bitrate less than or equal to the datatransmission rate, and less than or equal to a maximum bitrate which maybe supported by the client provided in the user level information andthe terminal capability information.
 11. The distribution serveraccording to claim 9, wherein the content segment request informationreceived by the receiving module comprises a required bitrate; theselecting module is specifically configured to compare the datatransmission rate with the required bitrate; when the data transmissionrate is less than the required bitrate, select a content segment with abitrate less than or equal to the data transmission rate; and when thedata transmission rate is greater than or equal to the required bitrate,select a content segment with a bitrate equal to the required bitrate.12. The distribution server according to claim 9, wherein the contentsegment request information received by the receiving module comprises arequired bitrate; the distribution server further comprises: a secondacquiring module, configured to acquire, before the selecting moduleselects the content segment, user level information of the client; andcorrespondingly, the selecting module is specifically configured tocompare the data transmission rate with the required bitrate; when thedata transmission rate is less than the required bitrate, select acontent segment with a bitrate less than or equal to the requiredbitrate; and when the data transmission rate is greater than or equal tothe required bitrate, select a content segment with a bitrate greaterthan or equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to a maximum bitrate which maybe supported by the client provided in the user level information; orthe distribution server further comprises: a third acquiring module,configured to acquire, before the selecting module selects the contentsegment, terminal capability information of the client; andcorrespondingly, the selecting module is specifically configured tocompare the data transmission rate with the required bitrate; when thedata transmission rate is less than the required bitrate, select acontent segment with a bitrate less than or equal to the datatransmission rate; and when the data transmission rate is greater thanor equal to the required bitrate, select a content segment with abitrate greater than or equal to the required bitrate, less than orequal to the data transmission rate, and less than or equal to a maximumbitrate which may be supported by the client provided in the terminalcapability information; or the distribution server further comprises: afourth acquiring module, configured to acquire, before the selectingmodule selects the content segment, user level information and terminalcapability information of the client; and correspondingly, the selectingmodule is specifically configured to compare the data transmission ratewith the required bitrate; when the data transmission rate is less thanthe required bitrate, select a content segment with a bitrate less thanor equal to the data transmission rate; and when the data transmissionrate is greater than or equal to the required bitrate, select a contentsegment with a bitrate greater than or equal to the required bitrate,less than or equal to the data transmission rate, and less than or equalto a maximum bitrate which may be supported by the client provided inthe user level information and the terminal capability information. 13.The distribution server according to claim 9, wherein the contentsegment request information received by the receiving module comprises arequired bitrate; the distribution server further comprises: an updatingmodule, configured to compare, before the selecting module selects thecontent segment, the required bitrate with a bitrate which may besupported by the client recorded in local information, and if therequired bitrate is greater than the bitrate which may be supported bythe client recorded in the local information, update the localinformation into information of the required bitrate; andcorrespondingly, the selecting module is specifically configured toselect a content segment with a bitrate less than or equal to the datatransmission rate, and less than or equal to the bitrate which may besupported by the client recorded in the current local information.
 14. Aprocessing method for streaming media, comprising: sending contentsegment request information to a distribution server; receiving acontent segment sent by the distribution server, wherein the contentsegment is a content segment which matches a data transmission rate andis selected by the distribution server, after receiving the contentsegment request information sent by the client, through acquiringresource information of a wireless network where the client is locatedand predicting the data transmission rate of the wireless networkaccording to the resource information.
 15. The method according to claim14, wherein the content segment request information does not comprise arequired bitrate; before receiving the content segment sent by thedistribution server, the method further comprises: sending user levelinformation and/or terminal capability information to the distributionserver; and correspondingly, the content segment received is a contentsegment, selected by the distribution server, with a bitrate less thanor equal to the data transmission rate, and less than or equal to amaximum bitrate which may be supported by the client provided in theuser level information and the terminal capability information.
 16. Themethod according to claim 14, wherein the content segment requestinformation comprises a required bitrate; correspondingly, the contentsegment received is a content segment, selected by the distributionserver through comparing the data transmission rate with the requiredbitrate, with a bitrate less than or equal to the data transmission ratewhen the data transmission rate is less than the required bitrate, or acontent segment selected with a bitrate equal to the required bitratewhen the data transmission rate is greater than or equal to the requiredbitrate; or before receiving the content segment sent by thedistribution server, the method further comprises: sending user levelinformation and/or terminal capability information to the distributionserver; and correspondingly, the content segment received is a contentsegment, selected by the distribution server through comparing the datatransmission rate with the required bitrate, with a bitrate less than orequal to the data transmission rate when the data transmission rate isless than the required bitrate, or a content segment selected with abitrate greater than or equal to the required bitrate, less than orequal to the data transmission rate, and less than or equal to a maximumbitrate which may be supported by the client provided in the user levelinformation and/or the terminal capability information when the datatransmission rate is greater than or equal to the required bitrate. 17.A client, comprising: a first sending module, configured to send contentsegment request information to a distribution server; a receivingmodule, configured to receive, after the first sending module sends thecontent segment request information to the distribution server, acontent segment sent by the distribution server, wherein the contentsegment is a content segment which matches a data transmission rate andis selected by the distribution server, after receiving the contentsegment request information sent by the client, through acquiringresource information of a wireless network where the client is locatedand predicting the data transmission rate of the wireless networkaccording to the resource information.
 18. The client according to claim17, wherein the content segment request information sent by the firstsending module does not comprise a required bitrate; the client furthercomprises: a second sending module, configured to send, before thereceiving module receives the content segment sent by the distributionserver, user level information to the distribution server;correspondingly, the content segment received by the receiving module isa content segments, selected by the distribution server, with a bitrateless than or equal to the data transmission rate, and less than or equalto a maximum bitrate which may be supported by the client provided inthe user level information; or the client further comprises: a thirdsending module, configured to send, before the receiving module receivesthe content segment sent by the distribution server, terminal capabilityinformation to the distribution server; correspondingly, the contentsegment received by the receiving module is a content segment, selectedby the distribution server, with a bitrate less than or equal to thedata transmission rate, and less than or equal to a maximum bitratewhich may be supported by the client provided in the terminal capabilityinformation; or the client further comprises: a fourth sending module,configured to send, before the receiving module receives the contentsegment sent by the distribution server, user level information andterminal capability information to the distribution server;correspondingly, the content segment received by the receiving module isa content segments, selected by the distribution server, with a bitrateless than or equal to the data transmission rate, and less than or equalto a maximum bitrate which may be supported by the client provided inthe user level information and the terminal capability information. 19.The distribution server according to claim 17, wherein the contentsegment request information sent by the first sending module comprises arequired bitrate; correspondingly, the content segment received by thereceiving module is a content segment, selected by the distributionserver through comparing the data transmission rate with the requiredbitrate, with a bitrate less than or equal to the data transmission ratewhen the data transmission rate is less than the required bitrate, or acontent segment selected with a bitrate equal to the required bitratewhen the data transmission rate is greater than or equal to the requiredbitrate. or the client further comprises: a second sending module,configured to send, before the receiving module receives the contentsegment sent by the distribution server, user level information to thedistribution server; correspondingly, the content segment received bythe receiving module is a content segment, selected by the distributionserver through comparing the data transmission rate with the requiredbitrate, with a bitrate less than or equal to the data transmission ratewhen the data transmission rate is less than the required bitrate, or acontent segment selected with a bitrate greater than or equal to therequired bitrate, less than or equal to the data transmission rate, andless than or equal to a maximum bitrate which may be supported by theclient provided in the user level information when the data transmissionrate is greater than or equal to the required bitrate; or the clientfurther comprises: a third sending module, configured to send, beforethe receiving module receives the content segment sent by thedistribution server, terminal capability information to the distributionserver; correspondingly, the content segment received by the receivingmodule is a content segment, selected by the distribution server throughcomparing the data transmission rate with the required bitrate, with abitrate less than or equal to the data transmission rate when the datatransmission rate is less than the required bitrate, or a contentsegment selected with a bitrate greater than or equal to the requiredbitrate, less than or equal to the data transmission rate, and less thanor equal to a maximum bitrate which may be supported by the clientprovided in the terminal capability information, when the datatransmission rate is greater than or equal to the required bitrate; orthe client further comprises: a fourth sending module, configured tosend, before the receiving module receives the content segment sent bythe distribution server, user level information and terminal capabilityinformation to the distribution server; correspondingly, the contentsegment received by the receiving module is a content segment, selectedby the distribution server through comparing the data transmission ratewith the required bitrate, with a bitrate less than or equal to the datatransmission rate when the data transmission rate is less than therequired bitrate, or a content segment selected with a bitrate greaterthan or equal to the required bitrate, less than or equal to the datatransmission rate, and less than or equal to a maximum bitrate which maybe supported by the client provided in the user level information andthe terminal capability information when the data transmission rate isgreater than or equal to the required bitrate.